//
//  PopoverPresentationController.swift
//  ZMWWeibo
//
//  Created by 张美文 on 16/1/6.
//  Copyright © 2016年 walter. All rights reserved.
//

import UIKit

class PopoverPresentationController: UIPresentationController {
    /**
     初始化方法，用于负责转场动画的对象
     
     - parameter presentedViewController:  被展现的控制器
     - parameter presentingViewController: 发起的控制器
     
     - returns: 负责转场动画的对象
     */
    override init(presentedViewController: UIViewController, presentingViewController: UIViewController) {
        //
        super.init(presentedViewController: presentedViewController, presentingViewController: presentingViewController)
        print(presentedViewController)
    }
    
    /**
    *  即将布局转场子视图时调用
    */
    
    override func containerViewWillLayoutSubviews() {
        //1. 修改弹出视图的大小
//        containerView; 容器视图
//        presentedView; 被展现的视图
        presentedView()?.frame = CGRect(x: 100, y: 56, width: 200, height: 200)
        
        //2. 在容器视图上添加一个蒙蔽，插入到展示视图下面
        // 因为展现的视图和蒙蔽都在一个视图上，而后添加的视图会盖住先添加的视图
        containerView?.insertSubview(coverView, atIndex: 0)
        
    }
    
    //MARK: - 懒加载
    private lazy var coverView: UIView = {
        //1. 创建view
        let view = UIView()
        view.backgroundColor = UIColor(white: 0.0, alpha: 0.2)
        view.frame = UIScreen.mainScreen().bounds
        
        //2. 添加监听
        let tap = UITapGestureRecognizer(target: self, action: "close")
        view.addGestureRecognizer(tap)
        
        return view
    }()
    
    func close(){
        //presentedViewController拿到当前被展示的控制器
        presentedViewController.dismissViewControllerAnimated(true, completion: nil)
    }
}




































